Autodesk Developer Network 2011
Autodesk
Point Cloud Client API
§Autodesk.Revit.DB.PointClouds namespace
§
§Major classes
§PointCloudInstance
§PointCloudType – represent the points obtained from a single file or engine identifier
§CloudPoint – an individual point. (x, y, z) in cloud coordinate, and a color
§PointCollection
§PointCloudFilter – volume filter. Use PointCloudFilterFactory.CreateMultiPlanerFilter()
§
§Two ways to access
§IEnumerable – traditional “for each” access IPointCloudEngine interface
§GetPointBufferPointer()
§Direct access to the unmanaged world
§C# or C++/CLI only
§Unsafe
§Performance gain
§
§
§
§
§
§

| New classes, interfaces, and structure for Revit Point Cloud are added in PointClouds namespace.
| The major classes of the client API are listed below –
| PointCloudInstance – deals with the instance of point cloud in a location
| PointCloudType – represents the points obtained from a single file or engine
| CloudPoint – refers to an individual point cloud point (representing a coordinate and color).
| PointCollection- as the name suggests, refers to a collection of points obtained from instance and filter
| PointCloudFilter – refers to the volumetric filter used to filter points as per specific region of interest
| Two ways to access the points as client –
| 1.Using the traditional IEnumerable interface, we can iterate through the resulting points from the point collection
| 2.In unsafe interface usable only from C# and C++, we can get a pointer to the point storage collection and access each one in memory using the GetPointBufferPointer(). This might even have performance gain while traversing through large buffers of points.